/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */

package com.isd.ventas.web;

import java.io.Serializable;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
import javax.annotation.PostConstruct;
import javax.ejb.EJB;
import javax.faces.bean.ManagedBean;
import javax.faces.bean.ManagedProperty;
import javax.faces.bean.SessionScoped;
import com.isd.seguridad.web.UsuarioSessionBean;
import com.isd.venta.modelo.Cliente;
import com.isd.ventas.rn.ClienteRN;

/**
 *
 * @author Claudio
 */
@ManagedBean(name="clienteBean")
@SessionScoped
public class ClienteBean implements Serializable{

    @EJB private ClienteRN clienteRN;

    private List<Cliente> lista;

    Map<String,String> filtro;
    private String contenido;

    @ManagedProperty(value = "#{usuarioSessionBean}")
    private UsuarioSessionBean usuarioSessionBean;


    /** Creates a new instance of ClienteBean */
    public ClienteBean() {

    }

    @PostConstruct
    private void init(){
        lista = new ArrayList<Cliente>();
        filtro = new HashMap<String,String>();
        contenido = "";
        
    }
    
    public void buscarClientes(){

        cargarFiltro(filtro);
        lista = clienteRN.getClientes(filtro);

    }

    private void cargarFiltro(Map<String, String> filtro) {

        filtro.clear();

        if(usuarioSessionBean.getUsuario().getTipo().equals('V')){

            String codVnd = usuarioSessionBean.getUsuario().getVendedor().getVnddor();
            filtro.put("vendedor.vnddor = ", "'"+codVnd+"'");
        }
        
        if(contenido!=null && !contenido.isEmpty()){
            
            String sfiltro = "nrocta LIKE '%" +contenido+ "%' "
            + " OR (c.nombre LIKE '%" +contenido+ "%') ";

            filtro.put(sfiltro, "" );
        }
        filtro.put("debaja = ", "'N'" );
    }

    public void limpiarFiltro(){

        filtro = new HashMap<String, String>();
        contenido="";
        
    }

    public Map<String, String> getFiltro() {
        return filtro;
    }

    public void setFiltro(Map<String, String> filtro) {
        this.filtro = filtro;
    }

    public List<Cliente> getLista() {
        return lista;
    }

    public void setLista(List<Cliente> lista) {
        this.lista = lista;
    }

    public String getContenido() {
        return contenido;
    }

    public void setContenido(String contenido) {
        this.contenido = contenido;
    }

    public UsuarioSessionBean getUsuarioSessionBean() {
        return usuarioSessionBean;
    }

    public void setUsuarioSessionBean(UsuarioSessionBean usuarioSessionBean) {
        this.usuarioSessionBean = usuarioSessionBean;
    }

}
